webpack未能加载打包音频文件

一、说明

在 webpack 中,我们发现,在项目中直接把图片(包括音频)路径拿过来使用是行不通的,要在 require 或者 import 引入之后才能使用这些资源。这是因为 webpack 会把图片当作模块来使用,而不是直接以字符串的形式(模块化是 node 编程的核心理念之一)

二、引入方式

  • require:
    • 是 AMD 规范引入方式
    • 因为是在运行时调用,所以理论上可以放在代码的任何地方
    • require 是赋值过程,其实 require 的结果就是对象、数字、字符串、函数等,再把 require 的结果赋值给某个变量
  • import
    • 是 ES6 的语法标准,如需兼容浏览器的话必须转化成 ES5 的语法
    • 在编译时调用,所以必须放在文件开头
    • import 是解构过程,但是目前所有的引擎都还没有实现 import,我们在 node 中使用 babel 支持 ES6,也仅仅是将 ES6 转码为 ES5 再执行,import 语法会被转码为 require

三、无法打包 mp3 文件(或其他文件)问题

解决方式(使用 file-loader)

  1. 可以直接在 require 时指定使用 file-loader,示例如下const sounds = require("file-loader!../assets/sounds/sounds.mp3");
  2. 可以在 webpack 中配置 file-loader,示例如下 { test: /\.mp3$/, use: 'file-loader'}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值